home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / subjct20.zip / SUBJECT.DOC next >
Text File  |  1990-01-06  |  22KB  |  361 lines

  1.  
  2.           ------------------------------------------------------------
  3.                               SUBJECT  Version 2.0
  4.           <)>                 ~~~~~~~~~~~~~~~~~~~~
  5.       <(>  !  <(>    A Freely available RBBS-PC Conference
  6.        !       !                Messages utility
  7.                                  [SUBJCT20.ZIP]
  8.                          by Vaishnava dasa -- 12/25/89
  9.           ------------------------------------------------------------
  10.           Use:  Scans RBBS-PC messages files and writes a file listing
  11.     <*>   ~~~   the most popular threads in descending order.  Various
  12.  <*> !                    formating options included.
  13.   !   <*> ------------------------------------------------------------
  14. <*>    !
  15.  !
  16. .---.
  17. | O--  UBJECT.EXE  can  be used to create automatically a text file showing  the
  18. `---.  number  of  messages per thread in a RBBS-PC Messages  file.  The  output
  19. --O |  file can then be  used as the Conference's WELCOME file.
  20. `---'
  21.  
  22. Files Included in this archive:
  23. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24. SUBJECT.EXE - Executable program
  25. SUBJECT.DOC - This text file
  26. SUBJECT.TMP - Sample non-graphics Template file
  27. SUBJECTG.TMP - Sample ASCII-Graphics Template file
  28. SUBJECTC.TMP - Sample Color-Graphics Template file
  29.  
  30. Format:
  31. ~~~~~~
  32. SUBJECT I:<file> O:<file> C:<name> L:<length> S: D: F: G: A: B:
  33.  
  34. Examples:
  35. ~~~~~~~~
  36. SUBJECT I:c:\rbbs\rbbs-pcm.def O:rbbs-pcw.def C:rbbs-pc L:3 S: D:
  37. SUBJECT I:binkleym.def O:binkleyw.def C:binkleyterm f: g: a: b: l:3
  38.  
  39. Required command-line parameters:
  40. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41. I:  - Input file.   Name of RBBS-PC Messages file to read.  Usually this file is
  42. the  full  name  (and  optional path) of a  RBBS-PC  Conference  Messages  file.
  43. SUBJECT.EXE  reads this Messages files SUBJECT field,  strips out any occurances
  44. of "(R)",  sorts the SUBJECTs,  computes the total messages for each  particular
  45. SUBJECT,  then  writes the information to a formatted Output file,  specified by
  46. the O:  parameter.   When creating an Output file,  SUBJECT.EXE will not include
  47. any SUBJECTs that are SUBJECTs of messages which are marked as  private.   Also,
  48. if  SUBJECT.EXE has any difficulty reading or finding the specified input  file,
  49. it  will  create a file called SUBJECT.ERR in the default directory  from  which
  50. SUBJECT.EXE is run and detail the error for debugging purposes.   If SUBJECT.ERR
  51. already exists, the error information will just be appended to SUBJECT.ERR.
  52.  
  53. O:  - Output  file.   Name  (and optional path) of output file to be created  by
  54. SUBJECT.EXE.   Use  the  same  name  as the RBBS-PC Conference  file  (up  to  7
  55. characters)  and add "W.DEF" so that the Output file will automatically  display
  56. as user enters the Conference.   For example, if the Conference Messages file is
  57. COOKINGM.DEF, set the O: parameter to create the COOKINGW.DEF Conference WELCOME
  58. file.   RBBS-PC will automatically display the <conference name>W.DEF file.   By
  59. specifying  a drive and path in this O:  parameter,  SUBJECT.EXE can create  the
  60. Output  file  in the subdirectory where RBBS-PC will be able to  locate  it  and
  61. display  it  (usually in the same directory as RBBS-PC.EXE and  the  <conference
  62. name>M.DEF  Conference  Messages  file is located.)  If no drive  and  path  are
  63. specified,  the  Output  file  is  created  in the  same  directory  from  which
  64. SUBJECT.EXE is run.
  65.  
  66. C:  - Conference name to be used in Output file header.   Do NOT use any [SPACE]
  67. characters.   The  Conference  name as appearing in the Output file will  be  in
  68. fully capitalized regardless of how the Conference name appears on SUBJECT.EXE's
  69. C: command line parameter (see examples below).  If the Conference name contains
  70. more  than one word,  an underline character can usually substitute for a  space
  71. character.   For  example,  if the Conference name is "HOME  REPAIR",  you  must
  72. change  the name so that no space characters appear in the name.   "HOME_REPAIR"
  73. with  the  underline  character  substituted  for  the  space  is  a  very  good
  74. substitution.
  75.  
  76. Optional parameters:
  77. ~~~~~~~~~~~~~~~~~~~
  78. L:  - Maximum number of lines in output file (Length of file).  For appearances,
  79. SUBJECT.EXE can create the Output file as small as one line which,  by the  way,
  80. does  not  include header and footer messages that are automatically created  by
  81. SUBJECT.EXE.   Setting the L:  parameter at 1 will give you 1 line of  SUBJECTs.
  82. "1  line" of SUBJECTs works out to "3 SUBJECTs," because each line represents  3
  83. SUBJECTs   printed  across  the  screen  side-by-side.    For  formatting  sake,
  84. SUBJECT.EXE automatically creates one blank line at the top of the Output  file,
  85. followed  by the Header line mentioning how many messages are in the  Conference
  86. and the name of the Conference (taken from the C:  parameter).   The next Header
  87. line is optional (see the D:  parameter below),  and shows the dates represented
  88. by  the  messages in the Conference.   This is followed by another  blank  line.
  89. Then  the actual report begins;  the Length of this report specified by this  L:
  90. parameter.   Using  a very minimum of 1 will give the shortest report.   Using a
  91. value of L:15 will give you one full screenful of report on a 25 by 80  monitor,
  92. assuming that the number of different SUBJECTs in the Conference is greater than
  93. 15  times 3.   If the number of SUBJECTs in the Conference is actually less than
  94. L:<n>  times 3,  then the L:  paramater will have no effect on the Output  file.
  95. However,  if the number of SUBJECTs in the Conference is greater than <n>  times
  96. 3, then the L: parameter will work to shorten the final Output file so that only
  97. <n>  times 3 SUBJECTs will be shown,  for a total of <n> lines.   If the  Output
  98. file is shortened,  a footer blank line is entered, followed by a footer message
  99. telling that the Output file had been shortened.
  100.  
  101. S: - Imbed RBBS-PC's SMART-TEXT Color commands in Output file.  This S: paramter
  102. line option tells SUBJECT.EXE to place RBBS-PC's SMART-TEXT codes throughout the
  103. Output  file for a colorful report.   The assumption made by SUBJECT.EXE is that
  104. ASCII 123 ("{") is used to turn on SMART-TEXT.   RBBS-PC's CONFIG.EXE is used to
  105. set the value of this special SMART-TEXT switch.   A "{CS" is used at the top of
  106. the  Output file so that the screen can be filled with the Output  file  without
  107. having  RBBS-PC insert a "More?" prompt in the middle,  if your Output files are
  108. set  by the L:  parameter as less than or equal to 15.   A final "{PB"  is  also
  109. placed at the end of the Output file when the S:  parameter is used, in order to
  110. prevent  the  Output file from scrolling off the top of the screen.   The  "{PB"
  111. accomplishes this by inserting a "More?" prompt at the end of the Output file.
  112.  
  113. D:  - Include  oldest  and most recent date of Messages in output  file  (Date).
  114. When this optional D:  parameter is used,  SUBJECT.EXE looks at the dates of all
  115. the messages in the Conference and finds the message with the oldest  date,  and
  116. the  message with the most recent date.   It uses both these dates to report the
  117. ages of the messages in the Conference.  SUBJECT.EXE is only coded to accurately
  118. display dates in the range of January 1st, 1980, to December 31st, 1999.  If I'm
  119. still  living at that time,  I'll be glad to upgrade the code to handle the  new
  120. century!
  121.  
  122. F:  and  F:C  - New with Version 2.0.  This switch allows the use of a  template
  123. file.   When this switch is used,  SUBJECT.EXE looks on the default drive for  a
  124. template file, substituting the following strings:
  125.  
  126.   o SUBJECT8901234567890 - SUBJECT header is substituted always  beginning  with
  127.       the most popular SUBJECT
  128.  
  129.   o MSG - 3 character total number of messages in specified message base
  130.  
  131.   o AREA - Up to 20 characters of the AREA name of the message base
  132.  
  133.   o FMDATExx - 8  character  Date  of earliest message in message  base  in  the
  134.       format of MM-DD-YY
  135.  
  136.   o TODATExx - 8  character Date of most recent message in message base  in  the
  137.       format of MM-DD-YY
  138.  
  139.   o ### - 3 character number of messages under one SUBJECT.   Number of messages
  140.       under one SUBJECT always begins with the greatest number of messages.
  141.  
  142. SUBJECT.EXE  substitues  these various strings with real values,  and creates  a
  143. file  determined by the O:  parameter and other command-line switches.   If  the
  144. Output filename specified in the O:  parameter is in the format "<7  letters-or-
  145. less  Conference  Name> + W.DEF",  the resultant Output filename is  called  "<7
  146. letters-or-less  Conference  Name>".   The  optional path specified  in  the  O:
  147. parameter is also preserved.
  148.   The  template file used by SUBJECT.EXE may be one of two  files.   SUBJECT.EXE
  149. looks  on  the  default drive for "<7 letters-or-less Conference name>  +  .TMP"
  150. first,  and,  if not found,  then SUBJECT.EXE looks for the default file  called
  151. SUBJECT.TMP  and uses it.   This facility is there for those SysOps who want  to
  152. have a special WELCOME file for any given Conference.  Of course, if SUBJECT.EXE
  153. cannot  find  either  .TMP  file  in  the  default  drive/(subdirectory),   then
  154. SUBJECT.EXE reports an error,  and aborts any further processing.   Note:  Usage
  155. of the Template files means that these Template files will not contain RBBS-PC's
  156. SMART-TEXT codes even if the S:  parameter if found on the command line.   It is
  157. up to the Template file to provide SMART-TEXT codes already if such commands are
  158. wanted.
  159.  
  160. F:C  - Use  the  C switch after the F:  switch to allow  SUBJECT.EXE  to  create
  161. WELCOME  files  for  Conferences  using a Template  file,  such  as  SUBJECT.TMP
  162. (default).   SUBJECT.EXE  will  first  look for  the  file  "<7  letters-or-less
  163. Conference Name> + .TMP",  and if that Template file is not found in the default
  164. drive/(subdirectory), SUBJECT.EXE will go onto look for SUBJECT.TMP and use that
  165. as a Template file.
  166.  
  167. G:  - This switch is used with the F:  switch and creates a output file with the
  168. letter "G" appended to the output file.  If the output file is in the format "<7
  169. letters-or-less  Conference  Name> + W.DEF",  this switch creates the  file  "<7
  170. letters-or-less  Conference Name> + G".   SUBJECT.EXE first looks in the default
  171. directory  for the template file "<7 letters-or-less Conference Name>  +  G.TMP"
  172. and, if not found, uses the default file SUBJECTG.TMP.
  173.  
  174. A:  - This switch is also used with the F: switch and creates a output file with
  175. the letter "C" appended to the output file.  If the output file is in the format
  176. "<7 letters-or-less Conference Name> + W.DEF",  this switch creates the file "<7
  177. letters-or-less  Conference Name> + C".   SUBJECT.EXE first looks in the default
  178. directory  for the template file "<7 letters-or-less Conference Name>  +  C.TMP"
  179. and, if not found, uses the default file SUBJECTC.TMP.
  180.  
  181. B: - Use of this switch allows SUBJECT.EXE to produce two types of WELCOME files
  182. simultaneously.   RBBS-PC's SUBBOARDS and CONFERENCES look for different WELCOME
  183. files.   Conferences  look  for  a  file in the format  of  "<7  letters-or-less
  184. Conference Name> + W.DEF" only.   Subboards look for a WELCOME file specified in
  185. the "<7 letters-or-less Conference Name> + C.DEF" Subboard Config file.   It  is
  186. assumed  that  the WELCOME file specified in the Subboard's Config file will  be
  187. "<7 letters-or-less Conference Name>".    This B: switch would then produce both
  188. the  "<7  letters-or-less  Conference  Name>" WELCOME  file  for  use  with  the
  189. corresponding  Subboard,  and "<7 letters-or-less Conference Name> + W.DEF"  for
  190. use in the corresponding Conference.
  191.  
  192. Example 1 - SUBJECT.EXE using no optional parameters:
  193. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  194. * There are 58 messages in the RBBS-PC Conference *
  195.  
  196.    9-BAUD 450                5-RBBS INFO               5-UP/DOWNLOAD PROBLEM
  197.    4-CD-ROM                  4-RBBS MESSAGE CONFERE    3-EXTENDED RAM
  198.    3-FILE > RBBS MESSAGE     3-MODEM                   3-RBBS & DV
  199.    3-RBBS-PC.EXE             2-HI..!!                  2-MU-EDIT
  200.    1-14.4K HST/DS PROBLEM    1-ADVICE                  1-COLUMBUS DAY VIRUS
  201.    1-EDEF & DOS              1-HST 14.4                1-I WAS WONDERING...
  202.    1-MSGTOSS                 1-NETMAIL ACCOUNTS        1-NIEUW RBBS
  203.    1-RBBS IN EUROPE          1-SUNTAC DRIVER           1-UPLOAD/DOWNLOAD RATI
  204.  
  205.  
  206. Example 2 - SUBJECT.EXE using S: D: and L:3 parameters:
  207. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  208. {CS
  209. {C2* {C4There are{C2 358 {C4messages in the {C2OPEN_BIBLE {C4Conference {C2*
  210.   {C4Dated from {C210-03-89 {C4to{C2 10-15-89
  211.  
  212. {C1  65{C2-{C3BIBLE TRANSLATIONS   {C1  13{C2-{C3CHRIST THE ROCK      {C1   8{C2
  213. {C1   8{C2-{C3FAITH                {C1   8{C2-{C3IMAGES               {C1   8{C2
  214. {C1   7{C2-{C3MORMONISM/CULTS III  {C1   7{C2-{C3NEW AGE              {C1   7{C2
  215.  
  216.        {C4Here are only some of the topics, in order of popularity.{C0
  217. {PB
  218.  
  219. Note:   Conference  names  ("RBBS-PC" and "OPEN_BIBLE" in Example 1 and  2)  are
  220.         always capitalized.
  221.  
  222. Example 3 - Sample Template File:
  223. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  224. ╔════════════════════════════════════════════════════════════════════════════╗
  225. ║  Welcome to the RBBS-PC Echo Conference                                    ║
  226. ╠════════════════════════════════════════════════════════════════════════════╣
  227. ║                                                                            ║
  228. ║  Most discussed Topic in this Conference is:  SUBJECT8901234567890         ║
  229. ║                                                                            ║
  230. ║  This Topic has ### Messages.  Other popular Topics (in Alphabetical       ║
  231. ║    order) include:                                                         ║
  232. ║                                                                            ║
  233. ╚════════════════════════════════════════════════════════════════════════════╝
  234.  
  235.                  SUBJECT8901234567890 - using ### Messages
  236.                  SUBJECT8901234567890 - using ### Messages
  237.                  SUBJECT8901234567890 - using ### Messages
  238.                  SUBJECT8901234567890 - using ### Messages
  239.  
  240.             ...with more Topics also covered in this Conference
  241.  
  242. ╔═════════════════════════════════════════════════════════════════════════════╗
  243. ║  This conference is distributed Nationwide                                  ║
  244. ╚═════════════════════════════════════════════════════════════════════════════╝
  245.  
  246. Short Discussion about SUBJECT and MSGTOSS:
  247. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  248. SUBJECT.EXE  performs quite well with Mike Zakharoff's new MSGTOSS  Net/Echomail
  249. Tosser Version 1.0 (12/22/89).  SUBJECT.EXE can be invoked via MSGTOSS.CFG using
  250. MSGTOSS's variables:  [MSGFILE], [WELFILE], and [AREA].  SUBJECT.EXE will create
  251. WELCOME  files for Conferences or Subboards,  or even a combination of the  two,
  252. producing files with SMART-TEXT,  Ascii Graphics, Color Graphics or non-graphics
  253. formats automatically without the SysOps help once these parameters are set.
  254.  
  255. Example 4 - Sample use with MSGTOSS *
  256. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  257. (*  For  more information about MSGTOSS,  contact the Interstate BBS Network  at
  258. 206/631-7813, Mike Zakharoff, SysOp.)
  259.  
  260. In MSGTOSS.CFG, one example may be:
  261.  
  262. UTIL1CMD---->SUBJECT I:[MSGFILE] O:[WELFILE] C:[AREA] F: G: A: B: L:6 D: S:
  263.  
  264. For  example,  if [MSGFILE] = "RBBS-PCM.DEF",  [WELFILE] would default to "RBBS-
  265. PCW.DEF" and [AREA] would be "RBBS-PC".  Use of L:6, D:, and S: parameters would
  266. produce "RBBS-PCW.DEF" file for use with the RBBS-PC Conference with a Length of
  267. 6 lines,  oldest and most recent Dates included,  and using RBBS-PC's SMART-TEXT
  268. codes.   Also,  since the B:  switch is present,  SUBJECT.EXE would produce  the
  269. files "RBBS-PC",  "RBBS-PCG",  and "RBBS-PCC" which are the non-graphics,  ASCII
  270. Graphics and ANSI Color Graphics files for use with a RBBS-PC Subboard.
  271.   Again,   the  advantage  of  producing  the  unnecessary  "<7  letters-or-less
  272. Conference  Name> + W.DEF" WELCOME file or the WELCOME files associated with the
  273. corresponding  Subboard,  when RBBS-PC can only take advantage of one  of  these
  274. options,  is  mainly  to  take advantage of MSGTOSS's  automatic  invocation  of
  275. SUBJECT.EXE  from  a  batch  file.   The SysOp can  use  the  Non-Graphics/ASCII
  276. Graphics/ANSI  Graphics WELCOME files associated with RBBS-PC's  Subboards,  and
  277. have  the  option  of simultaneously having MSGTOSS  creating  via  SUBJECT.EXE,
  278. WELCOME files for Conferences which use only the "<7 letters-or-less  Conference
  279. Name>  +  W.DEF" files.   WELCOME files for both Subboards and  Conferences  are
  280. automatically created using this method.
  281.  
  282. Final word:
  283. ~~~~~~~~~~
  284. SUBJECT.EXE  can  also  be  run  when you want  to  update  the  Output  file(s)
  285. regularly.   SUBJECT.EXE  can be run daily as part of your maintenance  routine.
  286. How  you want to use SUBJECT.EXE is entirely left to your needs.   A batch  file
  287. can look like this:
  288.  
  289. SUBJECT i:c:\rb\krishnam.def o:krishnaw.def c:krishna         d: l:15  s:
  290. SUBJECT i:c:\rb\biblem.def   o:biblew.def   c:open_bible      d: l:15  s:
  291. SUBJECT i:c:\rb\net115m.def  o:net115w.def  c:net115          d: l:15  s:
  292. SUBJECT i:c:\rb\philm.def    o:philw.def    c:Philosophy      d: l:15  s:
  293. SUBJECT i:c:\rb\rbbs-pcm.def o:rbbs-pcw.def c:rbbs-pc         d: l:15  s:
  294. SUBJECT i:c:\rb\sciencem.def o:sciencew.def c:science         d: l:15  s:
  295. SUBJECT i:c:\rb\krishnam.def o:display      c:krishna         d: l:7
  296. SUBJECT i:c:\rb\starm.def    o:starw.def    c:Stargaze        d: l:15  s:
  297. SUBJECT i:c:\rb\as-amm.def   o:as-amw.def   c:Asian-american  d: l:15  s:
  298. SUBJECT i:c:\rb\atheistm.def o:atheistw.def c:atheist         d: l:15  s:
  299. SUBJECT i:c:\rb\rbbs-sym.def o:rbbs-syw.def c:RBBS-Sysop      d: l:15  s:
  300. SUBJECT i:c:\rb\rbbs-sdm.def o:rbbs-sdw.def c:RBBS-Software   d: l:15  s:
  301. SUBJECT i:c:\rb\rbbsm&pm.def o:rbbsm&pw.def c:RBBSMail_&_Pack d: l:15  s:
  302. SUBJECT i:c:\rb\reinm.def    o:reinw.def    c:Reincarnation   d: l:15  s:
  303. SUBJECT i:c:\rb\spiritm.def  o:spiritw.def  c:Spiritual       d: l:15  s:
  304. SUBJECT i:c:\rb\sysopm.def   o:sysopw.def   c:National_Sysop  d: l:15  s:
  305. SUBJECT i:c:\rb\ufom.def     o:ufow.def     c:UFO             d: l:15  s:
  306. SUBJECT i:c:\rb\vegem.def    o:vegew.def    c:Vegetarian      d: l:15  s:
  307.  
  308. etc....
  309.                                        .   .
  310. Feel free to contact me at the         :   :
  311. HARE KRISHNA RBBS                      :   :                  *
  312. (1:115/800 or 8:970/6)                 :: ::               Chicago
  313. at 1-312-743-7729                      :: ::              2400 baud
  314. for any comments of                    ::.::               24 hour
  315. questions concerning                  :     :                 *
  316. SUBJECT.EXE.  Source                  :     :
  317. code for SUBJECT.EXE                .-'     :
  318. is also available                   :       :
  319. upon request.        :  :           :       :                       .
  320.                      :  :           :       `-.                  , ':
  321.                      :..:           :         :                .'   :
  322.                     :    :          :         :                :    :
  323.                     :    :        .-'         `-.              :    :
  324.                    :      :   .---'             :              :    `--------.
  325.               /\   :      :   :                 : .-----.      :             :
  326.   .----.     /  \ :        :  :                 : :     `-.    :             :
  327.   :    `--.  :  : :        :  :                 `-'       `----'             :
  328. --'       `--'  `-'        `--'                                              `-
  329.  
  330.  
  331. History:
  332. ~~~~~~~
  333. Version 1.0 - First  premature  release, works ok, but should have  been  tested
  334.                 longer.
  335. Version 1.1 - Fixes   bugs.   Now  works on message file with  last  message  in
  336.                 message  file  marked  private.    Also,  properly  writes  file
  337.                 SUBJECT.ERR.
  338. Version 1.2 - Fixes endless looping when last message in  Message file has  been
  339.                 purged  from the Conference and last message number given in the
  340.                 checkpoint  record is different from actual last message  number
  341.                 in Conference.
  342. Version 1.3 - Fixes error when "(R)" string is stripped from the subject  header
  343.                 on  a  message that has no subject(?)  Multiple "(R)"s are  also
  344.                 now stripped,  including "(r)"s(?)  Trims off any leading spaces
  345.                 in  subject  header.   Sometimes NUL characters show up  in  the
  346.                 subject  header;  resulting in different subject counts for  the
  347.                 same  subject headers.   The fix eliminates this  error.   Nulls
  348.                 also cause crooked displays to be sent remotely.   All nulls are
  349.                 now  converted  to  space characters.   Omits  date  line  ("d:"
  350.                 parameter)  in  empty  conferences where  there  are  no  dates.
  351.                 Subject.exe will continue to process correctly if encountering a
  352.                 message with a blank subject field.   But, if there is more than
  353.                 one  message  with  a  blank  subject field  in  a  row  (rare),
  354.                 subject.exe is not yet prepared to handle that.   Finally,  does
  355.                 not include corrupted, non-numerical dates in the date field.
  356. Version 2.0 - Added the use of Template files and command line switches F:,  G:,
  357.                 A: and B: to produce more Output file formatting options.
  358.  
  359.  
  360.  * END OF DOCUMENT * * END OF DOCUMENT * * END OF DOCUMENT * * END OF DOCUMENT *
  361.